]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
tests: Port Params.parse() test to jasmine
authorFlorian Müllner <fmuellner@gnome.org>
Sat, 20 Jan 2024 07:00:39 +0000 (08:00 +0100)
committerMarge Bot <marge-bot@gnome.org>
Tue, 21 May 2024 13:42:28 +0000 (13:42 +0000)
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3164>

tests/meson.build
tests/unit/params.js

index ef66ba83594bc9636e2c8e69ab4d80c5625fca5c..c14914c7f2d42650121b058240304bea9625094f 100644 (file)
@@ -25,6 +25,7 @@ unit_tests = [
     'insertSorted',
     'jsParse',
     'markup',
+    'params',
 ]
 
 foreach test : unit_tests
@@ -43,7 +44,6 @@ foreach test : unit_tests
 endforeach
 
 legacy_tests = [
-    'params',
     'signalTracker',
     'url',
     'versionCompare',
index 2edb019d123410630c5a66a76d8ef8ab271617da..d25e8cd3c9dd165ca483d394dd41bd61c6f0cf2c 100644 (file)
@@ -1,39 +1,27 @@
-const JsUnit = imports.jsUnit;
 import * as Params from 'resource:///org/gnome/shell/misc/params.js';
 
-/**
- * Asserts that two "param" objects have the same properties
- * with the same values.
- *
- * @param {object} params the parsed params
- * @param {object} expected the expected params
- */
-function assertParamsEqual(params, expected) {
-    for (let p in params) {
-        JsUnit.assertTrue(p in expected);
-        JsUnit.assertEquals(params[p], expected[p]);
-    }
-}
+describe('Params.parse()', () => {
+    const defaults = {
+        foo: 'This is a test',
+        bar: null,
+        baz: 42,
+    };
 
-let defaults = {
-    foo: 'This is a test',
-    bar: null,
-    baz: 42,
-};
-
-assertParamsEqual(
-    Params.parse(null, defaults),
-    defaults);
+    it('applies default values', () => {
+        expect(Params.parse(null, defaults)).toEqual(defaults);
+    });
 
-assertParamsEqual(
-    Params.parse({bar: 23}, defaults),
-    {foo: 'This is a test', bar: 23, baz: 42});
+    it('applies provided params', () => {
+        expect(Params.parse({bar: 23}, defaults))
+            .toEqual({foo: 'This is a test', bar: 23, baz: 42});
+    });
 
-JsUnit.assertRaises(
-    () => {
-        Params.parse({extraArg: 'quz'}, defaults);
+    it('does not allow extra args by default', () => {
+        expect(() => Params.parse({extraArg: 'quz'}, defaults)).toThrow();
     });
 
-assertParamsEqual(
-    Params.parse({extraArg: 'quz'}, defaults, true),
-    {foo: 'This is a test', bar: null, baz: 42, extraArg: 'quz'});
+    it('does allow extra args when requested', () => {
+        expect(Params.parse({extraArg: 'quz'}, defaults, true))
+            .toEqual({foo: 'This is a test', bar: null, baz: 42, extraArg: 'quz'});
+    });
+});